home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / ObjInt.C < prev    next >
C/C++ Source or Header  |  1990-07-19  |  782b  |  52 lines

  1. //$ObjInt$
  2.  
  3. #include "ObjInt.h"
  4. #include "String.h"
  5.  
  6. MetaImpl(ObjInt, (T(val), 0));
  7.  
  8. //---- an integer object -------------------------------------------------------
  9.  
  10. unsigned long ObjInt::Hash()
  11. {
  12.     return (unsigned long) val;
  13. }
  14.  
  15. bool ObjInt::IsEqual(Object* op)
  16. {
  17.     return op->IsKindOf(ObjInt) && val==((ObjInt*)op)->val;
  18. }
  19.  
  20. int ObjInt::Compare(Object* op)
  21. {
  22.     return val - Guard(op, ObjInt)->val;
  23. }
  24.  
  25. Object *ObjInt::DeepClone()
  26. {
  27.     return new ObjInt(val);
  28. }
  29.  
  30. char* ObjInt::AsString()
  31. {
  32.     return form("%d", val);
  33. }
  34.  
  35. ostream& ObjInt::PrintOn(ostream &s)
  36. {
  37.     Object::PrintOn(s);
  38.     return s << val SP;
  39. }
  40.  
  41. istream& ObjInt::ReadFrom(istream &s)
  42. {
  43.     Object::ReadFrom(s);
  44.     return s >> val;
  45. }
  46.  
  47. void ObjInt::InspectorId(char *buf, int)
  48. {
  49.     sprintf(buf, "%d", val);
  50. }
  51.  
  52.